The disclosed aspects relate generally to communications between devices and specifically to methods and systems for enabling hybrid web and native applications.
Advances in technology have resulted in smaller and more powerful personal computing devices. For example, there currently exist a variety of portable personal computing devices, including wireless computing devices, such as portable wireless telephones, personal digital assistants (PDAs) and paging devices that are each small, lightweight, and can be easily carried by users. More specifically, the portable wireless telephones, for example, further include cellular telephones that communicate voice and data packets over wireless networks. Further, many such cellular telephones are being manufactured with relatively large increases in computing capabilities, and as such, are becoming tantamount to small personal computers and hand-held PDAs.
Further, applications resident on a device may fall into categories, such as light (e.g., dumb), heavy (e.g., smart), etc. A light application, such as a web browser, may have limited ability to manipulate and manage data on the device, as light applications basically follow instructions provided to them with received content. As such, light applications allow a great degree of control from the network-side (e.g., web-side) while providing limited local flexibility. Further, when a device receives web-based content (e.g., such as a browser receiving a web page), the received content may include presentation information (e.g., formatting information, layout information, etc.) and data, where the presentation information defines how the data should be rendered. For example, the presentation information may include cascading style sheets (CSS) and other HTML data that a browser may parse into a document object model (DOM) for rendering the page. As such, the device has little local control over presentation options of web-based content.
On the other hand, heavy applications include substantial programming that allows them to provide for local control and management over received content. As such, heavy applications allow a great deal of local (e.g., native) control while having limited network-side control. For example, to change functionality of a heavy application updates may be used from the network-side.
Thus, improved apparatus and methods for enabling a hybrid web and native application may be desired.